package pe.edu.upc.dsd.qwerty.wsreserva.model;

// Generated 23/01/2012 03:17:21 PM by Hibernate Tools 3.2.1.GA

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.xml.bind.annotation.XmlRootElement;

/**
 * Asiento generated by hbm2java
 */
@Entity
@Table(name = "asiento")
@XmlRootElement(name = "asiento")
public class Asiento implements java.io.Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = -3498155309634605317L;
	private Integer idAsiento;
	private Integer idVuelo;
	private Pasajero pasajero;
	private Integer numero;
	private String descripcion;
	private Integer estado;
	private Date fechaReserva;	
	private String uuid;

	
	public Asiento() {
	}

	public Asiento(Integer idVuelo, Pasajero pasajero, Integer numero,
			String descripcion, Integer estado,Date fechaReserva) {
		this.idVuelo = idVuelo;
		this.pasajero = pasajero;
		this.numero = numero;
		this.descripcion = descripcion;
		this.estado = estado;
		this.fechaReserva=fechaReserva;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "idasiento", unique = true, nullable = false)
	public Integer getIdAsiento() {
		return this.idAsiento;
	}

	public void setIdAsiento(Integer idasiento) {
		this.idAsiento = idasiento;
	}
	

	@ManyToOne(fetch = FetchType.EAGER)
	@JoinColumn(name = "idpasajero", nullable = true)
	public Pasajero getPasajero() {
		return this.pasajero;
	}

	public void setPasajero(Pasajero pasajero) {
		this.pasajero = pasajero;
	}

	@Column(name = "numero")
	public Integer getNumero() {
		return this.numero;
	}

	public void setNumero(Integer numero) {
		this.numero = numero;
	}

	@Column(name = "descripcion", length = 50)
	public String getDescripcion() {
		return this.descripcion;
	}

	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}

	/**
	 * 0 = libre<br>
	 * 1 = reservado <br>
	 * 2 = comprado<br>
	 * @return
	 */
	@Column(name = "estado")
	public Integer getEstado() {
		return this.estado;
	}

	public void setEstado(Integer estado) {
		this.estado = estado;
	}
	
	@Column(name = "idvuelo")
	public Integer getIdVuelo() {
		return idVuelo;
	}

	public void setIdVuelo(Integer idVuelo) {
		this.idVuelo = idVuelo;
	}
	
	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "fechareserva", length = 19)
	public Date getFechaReserva() {
		return fechaReserva;
	}

	public void setFechaReserva(Date fechaReserva) {
		this.fechaReserva = fechaReserva;
	}

	public String getUuid() {
		return uuid;
	}

	public void setUuid(String uuid) {
		this.uuid = uuid;
	}

	
	
}
